package cn.biplam.front.template.base;

import cn.biplam.common.tools.TOOLS;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.front.html.HtmlDiv;
import cn.biplam.front.html.HtmlText;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.template.Template;

/**
 * 内容简介文本模板，显示简要内容，点击全部显示时显示完整内容
 * 	为实现文本左右间距，使用div封套，内部HtmlText使用span通过全局css属性设置左右margin
 * @author 	WangSong
 * @create 	2009-4-10 下午04:57:56
 * @version 1.0
 */
public class Tips implements Template{
	
	/** 完整内容 */
	private String tipContent;
	/** 简要内容 */
	private String tipTitle;
	/** 模版css */
	private String cssID="sh";
	/** 模版所占宽度 */
	private int width;
	
	/**
	 * 	构造方法
	 * @param tipTitle 提示标题
	 * @param tipContent  提示内容
	 * @param parentID 父容器ID
	 * @throws ErrorMessage 
	 */
	public Tips(String tipTitle,String tipContent,String parentID) throws ErrorMessage{
		this.tipTitle=tipTitle;
		this.tipContent=tipContent;
	}
	
	/**
	 * 返回设置好的HtmlWindow对象
	 * @return
	 * @throws ErrorMessage
	 */
	public HtmlWindow get() throws ErrorMessage{
		HtmlDiv div=new HtmlDiv(null,"tipt",tipTitle);
		HtmlText text=new HtmlText(null,cssID,tipContent);
		div.put(text);
		return div;
	}
	
	/**
	 * @return 简要内容控件的显示字符数
	 */
	public int getLength(){
		width=tipTitle.getBytes().length;
		return width;
	}
	
	/**
	 * @return 当前控件占位宽度
	 */
	public int getPxLength(){
		return TOOLS.getTextLength(tipTitle);
	}
	
	/**
	 * 设置内容
	 * @param tipTitle 提示标题
	 * @param tipContent  提示内容
	 * @throws ErrorMessage
	 */
	public void replace(String tipTitle,String tipContent) throws ErrorMessage{
		this.tipTitle=tipTitle;
		this.tipContent=tipContent;
	}
	
}
